"""
如何定义列表、如何遍历列表以及列表的下标运算
"""
list1 = [1, 8, 7, 9]
# 添加元素
list1.append(200)
list1.insert(1, 10)
# 合并两个列表
list1 += [23, 10]
print(list1)
print(len(list1))
# 先通过成员运算判断元素是否在列表中，如果存在就删除该元素
if 10 in list1:
    list1.remove(10)
print(list1)
# 从指定位置删除
list1.pop(0)
list1.pop(len(list1)-1)
print(list1)
# 清空列表
list1.clear()
print(list1)
"""
列表的切片和排序
"""
fruits = ['grape', 'apple', 'strawberry', 'waxberry']
fruits += ['pitaya', 'pear', 'mango']
# 列表切片
fruits2 = fruits[1:4]
print(fruits2) # apple strawberry waxberry
# 可以通过完整切片操作来复制列表
fruits3 = fruits[:]
print(fruits3) # ['grape', 'apple', 'strawberry', 'waxberry', 'pitaya', 'pear', 'mango']
fruits4 = fruits[-3:-1]
print(fruits4) # ['pitaya', 'pear']
# 可以通过反向切片操作来获得倒转后的列表的拷贝
fruits5 = fruits[::-1]
print(fruits5) # ['mango', 'pear', 'pitaya', 'waxberry', 'strawberry', 'apple', 'grape']
list1 = ['orange', 'apple', 'zoo', 'internationalization', 'blueberry']
list2 = sorted(list1)
print(list2)
# sorted函数返回列表排序后的拷贝不会修改传入的列表
# 函数的设计就应该像sorted函数一样尽可能不产生副作用
list3 = sorted(list1, key=len, reverse=True)
list1.sort()
print(list1)
print(list3)
